﻿

namespace Titan
{
    /// <summary>
    /// 计数器，自动生成的存储过程参数名称往往都有数字后缀，通过Couter类来维护这个后缀
    /// </summary> 
    public class Counter
    {
        private int currentValue;

        #region 构造函数
        /// <summary>
        /// 创建一个默认从0开始的计数器，此时CurrentValue属性值为0
        /// </summary>
        public Counter()
        {
            currentValue = 0;
        }
        /// <summary>
        /// 创建一个从指定数开始的计数器，此时CurrentValue属性值为startValue参数的值
        /// </summary>
        /// <param name="startValue">计数器开始数</param>
        public Counter(int startValue)
        {
            currentValue = startValue;
        }
        #endregion

        /// <summary>
        /// 获取计数器当前值
        /// </summary>
        public int CurrentValue
        {
            get { return currentValue; }
        }

        /// <summary>
        /// 计数器加1，返回增加后的当前值
        /// </summary>
        /// <returns>返回增加后的当前值</returns>
        public int AddOne()
        {
            currentValue++;
            return currentValue;
        }
    }
}
